<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>LibCDS: RedBlackTree Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">LibCDS
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('structRedBlackTree.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<div class="title">RedBlackTree Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>The implementation for balanced binary search tree.  
 <a href="structRedBlackTree.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a1ad7e305b92ee3c93551674c62d72b1b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="red__black__tree_8h.html#a1951719ff189144de837a6bd0eb74a54">RBTreeData</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRedBlackTree.html#a1ad7e305b92ee3c93551674c62d72b1b">pData</a></td></tr>
<tr class="memdesc:a1ad7e305b92ee3c93551674c62d72b1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The container private information.  <a href="#a1ad7e305b92ee3c93551674c62d72b1b">More...</a><br/></td></tr>
<tr class="separator:a1ad7e305b92ee3c93551674c62d72b1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee3696cae06d4530fcf6094dd9027e72"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRedBlackTree.html#aee3696cae06d4530fcf6094dd9027e72">insert</a> )(struct _RedBlackTree *, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>)</td></tr>
<tr class="memdesc:aee3696cae06d4530fcf6094dd9027e72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert an item into the tree.  <a href="#aee3696cae06d4530fcf6094dd9027e72">More...</a><br/></td></tr>
<tr class="separator:aee3696cae06d4530fcf6094dd9027e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b19e3043ddd2ef3266b47b19067232e"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRedBlackTree.html#a4b19e3043ddd2ef3266b47b19067232e">search</a> )(struct _RedBlackTree *, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> *)</td></tr>
<tr class="memdesc:a4b19e3043ddd2ef3266b47b19067232e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Search for the the item having the same order with the designated one.  <a href="#a4b19e3043ddd2ef3266b47b19067232e">More...</a><br/></td></tr>
<tr class="separator:a4b19e3043ddd2ef3266b47b19067232e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab32315c1ca85912068a07352d57b73da"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRedBlackTree.html#ab32315c1ca85912068a07352d57b73da">delete</a> )(struct _RedBlackTree *, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>)</td></tr>
<tr class="memdesc:ab32315c1ca85912068a07352d57b73da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the item having the same order with the designated one.  <a href="#ab32315c1ca85912068a07352d57b73da">More...</a><br/></td></tr>
<tr class="separator:ab32315c1ca85912068a07352d57b73da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a773d2d314f03e38e962b83bc0c0ef00f"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRedBlackTree.html#a773d2d314f03e38e962b83bc0c0ef00f">maximum</a> )(struct _RedBlackTree *, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> *)</td></tr>
<tr class="memdesc:a773d2d314f03e38e962b83bc0c0ef00f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the item having the maximum order of the tree.  <a href="#a773d2d314f03e38e962b83bc0c0ef00f">More...</a><br/></td></tr>
<tr class="separator:a773d2d314f03e38e962b83bc0c0ef00f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a733cfae929f73e6843910f8f557a2f7a"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRedBlackTree.html#a733cfae929f73e6843910f8f557a2f7a">minimum</a> )(struct _RedBlackTree *, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> *)</td></tr>
<tr class="memdesc:a733cfae929f73e6843910f8f557a2f7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the item having the minimum order of the tree.  <a href="#a733cfae929f73e6843910f8f557a2f7a">More...</a><br/></td></tr>
<tr class="separator:a733cfae929f73e6843910f8f557a2f7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3fd71b299a5b230b98bdc3d92f02cbf"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRedBlackTree.html#aa3fd71b299a5b230b98bdc3d92f02cbf">successor</a> )(struct _RedBlackTree *, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> *)</td></tr>
<tr class="memdesc:aa3fd71b299a5b230b98bdc3d92f02cbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the immediate successor of the designated item.  <a href="#aa3fd71b299a5b230b98bdc3d92f02cbf">More...</a><br/></td></tr>
<tr class="separator:aa3fd71b299a5b230b98bdc3d92f02cbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51e44c1bc395238e9e8ed6d7d800e29e"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRedBlackTree.html#a51e44c1bc395238e9e8ed6d7d800e29e">predecessor</a> )(struct _RedBlackTree *, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> *)</td></tr>
<tr class="memdesc:a51e44c1bc395238e9e8ed6d7d800e29e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the immediate predecessor of the designated item.  <a href="#a51e44c1bc395238e9e8ed6d7d800e29e">More...</a><br/></td></tr>
<tr class="separator:a51e44c1bc395238e9e8ed6d7d800e29e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdb2a6bf28a7d53a3b4c768096e2ce0a"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRedBlackTree.html#afdb2a6bf28a7d53a3b4c768096e2ce0a">size</a> )(struct _RedBlackTree *)</td></tr>
<tr class="memdesc:afdb2a6bf28a7d53a3b4c768096e2ce0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of stored item.  <a href="#afdb2a6bf28a7d53a3b4c768096e2ce0a">More...</a><br/></td></tr>
<tr class="separator:afdb2a6bf28a7d53a3b4c768096e2ce0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fe108665611ad3c0f57e98fe81b1a5f"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRedBlackTree.html#a2fe108665611ad3c0f57e98fe81b1a5f">set_compare</a> )(struct _RedBlackTree *, int32_t(*)(<a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>))</td></tr>
<tr class="memdesc:a2fe108665611ad3c0f57e98fe81b1a5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the custom item comparison method.  <a href="#a2fe108665611ad3c0f57e98fe81b1a5f">More...</a><br/></td></tr>
<tr class="separator:a2fe108665611ad3c0f57e98fe81b1a5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8782d6b198b976906e5901009a3ac76d"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRedBlackTree.html#a8782d6b198b976906e5901009a3ac76d">set_destroy</a> )(struct _RedBlackTree *, void(*)(<a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>))</td></tr>
<tr class="memdesc:a8782d6b198b976906e5901009a3ac76d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the custom item resource clean method.  <a href="#a8782d6b198b976906e5901009a3ac76d">More...</a><br/></td></tr>
<tr class="separator:a8782d6b198b976906e5901009a3ac76d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The implementation for balanced binary search tree. </p>

<p>Definition at line <a class="el" href="red__black__tree_8h_source.html#l00014">14</a> of file <a class="el" href="red__black__tree_8h_source.html">red_black_tree.h</a>.</p>
</div><h2 class="groupheader">Field Documentation</h2>
<a class="anchor" id="a1ad7e305b92ee3c93551674c62d72b1b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="red__black__tree_8h.html#a1951719ff189144de837a6bd0eb74a54">RBTreeData</a>* RedBlackTree::pData</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The container private information. </p>

<p>Definition at line <a class="el" href="red__black__tree_8h_source.html#l00016">16</a> of file <a class="el" href="red__black__tree_8h_source.html">red_black_tree.h</a>.</p>

</div>
</div>
<a class="anchor" id="aee3696cae06d4530fcf6094dd9027e72"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* RedBlackTree::insert)(struct _RedBlackTree *, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Insert an item into the tree. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="red__black__tree_8h.html#a34b702c0bef46e1efb4b2abd656cc180" title="Insert an item into the tree. ">RBTreeInsert</a> </dd></dl>

<p>Definition at line <a class="el" href="red__black__tree_8h_source.html#l00020">20</a> of file <a class="el" href="red__black__tree_8h_source.html">red_black_tree.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4b19e3043ddd2ef3266b47b19067232e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* RedBlackTree::search)(struct _RedBlackTree *, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> *)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Search for the the item having the same order with the designated one. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="red__black__tree_8h.html#a44185f36249fe68f4570b4daeb18e09f" title="Search for the item having the same order with the designated one. ">RBTreeSearch</a> </dd></dl>

<p>Definition at line <a class="el" href="red__black__tree_8h_source.html#l00024">24</a> of file <a class="el" href="red__black__tree_8h_source.html">red_black_tree.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab32315c1ca85912068a07352d57b73da"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* RedBlackTree::delete)(struct _RedBlackTree *, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Delete the item having the same order with the designated one. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="red__black__tree_8h.html#ab083f4751c4671cedea4560555e01abb" title="Delete the item having the same order with the designated one. ">RBTreeDelete</a> </dd></dl>

<p>Definition at line <a class="el" href="red__black__tree_8h_source.html#l00028">28</a> of file <a class="el" href="red__black__tree_8h_source.html">red_black_tree.h</a>.</p>

</div>
</div>
<a class="anchor" id="a773d2d314f03e38e962b83bc0c0ef00f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* RedBlackTree::maximum)(struct _RedBlackTree *, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> *)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the item having the maximum order of the tree. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="red__black__tree_8h.html#a9ade8bb836ab0995b11a097bddc018ba" title="Return the item having the maximum order of the tree. ">RBTreeMaximum</a> </dd></dl>

<p>Definition at line <a class="el" href="red__black__tree_8h_source.html#l00032">32</a> of file <a class="el" href="red__black__tree_8h_source.html">red_black_tree.h</a>.</p>

</div>
</div>
<a class="anchor" id="a733cfae929f73e6843910f8f557a2f7a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* RedBlackTree::minimum)(struct _RedBlackTree *, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> *)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the item having the minimum order of the tree. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="red__black__tree_8h.html#ab9097b1db69985565732fa8d872f1293" title="Return the item having the minimum order of the tree. ">RBTreeMinimum</a> </dd></dl>

<p>Definition at line <a class="el" href="red__black__tree_8h_source.html#l00036">36</a> of file <a class="el" href="red__black__tree_8h_source.html">red_black_tree.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa3fd71b299a5b230b98bdc3d92f02cbf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* RedBlackTree::successor)(struct _RedBlackTree *, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> *)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the immediate successor of the designated item. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="red__black__tree_8h.html#a9c67d270bf04374519e7749d02b04ca0" title="Return the item which is the immediate successor of the designated item. ">RBTreeSuccessor</a> </dd></dl>

<p>Definition at line <a class="el" href="red__black__tree_8h_source.html#l00040">40</a> of file <a class="el" href="red__black__tree_8h_source.html">red_black_tree.h</a>.</p>

</div>
</div>
<a class="anchor" id="a51e44c1bc395238e9e8ed6d7d800e29e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* RedBlackTree::predecessor)(struct _RedBlackTree *, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> *)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the immediate predecessor of the designated item. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="red__black__tree_8h.html#a7d76bcdb63190c4ec32b23fac454fd8a" title="Return the item which is the immediate predecessor of the designated item. ">RBTreePredecessor</a> </dd></dl>

<p>Definition at line <a class="el" href="red__black__tree_8h_source.html#l00044">44</a> of file <a class="el" href="red__black__tree_8h_source.html">red_black_tree.h</a>.</p>

</div>
</div>
<a class="anchor" id="afdb2a6bf28a7d53a3b4c768096e2ce0a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* RedBlackTree::size)(struct _RedBlackTree *)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the number of stored item. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="red__black__tree_8h.html#aaf169fdfe3bdd8572e532d402927b578" title="Return the number of stored items. ">RBTreeSize</a> </dd></dl>

<p>Definition at line <a class="el" href="red__black__tree_8h_source.html#l00048">48</a> of file <a class="el" href="red__black__tree_8h_source.html">red_black_tree.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2fe108665611ad3c0f57e98fe81b1a5f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* RedBlackTree::set_compare)(struct _RedBlackTree *, int32_t(*)(<a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the custom item comparison method. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="red__black__tree_8h.html#a64e58a895e97702fd7e67a4df4a55316" title="Set the custom item comparison method. ">RBTreeSetCompare</a> </dd></dl>

<p>Definition at line <a class="el" href="red__black__tree_8h_source.html#l00052">52</a> of file <a class="el" href="red__black__tree_8h_source.html">red_black_tree.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8782d6b198b976906e5901009a3ac76d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* RedBlackTree::set_destroy)(struct _RedBlackTree *, void(*)(<a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the custom item resource clean method. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="red__black__tree_8h.html#a78c89fb114f5aeca412a2479410026d3" title="Set the custom item resource clean method. ">RBTreeSetDestroy</a> </dd></dl>

<p>Definition at line <a class="el" href="red__black__tree_8h_source.html#l00056">56</a> of file <a class="el" href="red__black__tree_8h_source.html">red_black_tree.h</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="structRedBlackTree.html">RedBlackTree</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
